package com.simtop.service;

import com.simtop.pojo.userpo.User;
import com.simtop.pojo.userpo.UserExamVo;
import com.simtop.vo.exam.ExamVo;
import com.simtop.vo.exam.ExamVos;
import com.simtop.vo.sj.*;
import com.simtop.vo.word.WordExamSjVo;
import com.simtop.vo.word.WordExamVo;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface SjServer {

    List<sjVo> getAllSj(String op, String px, Integer dodId, Integer tableId, Integer sjtypeId,String search,Integer lasttypeId);

    List<sjVoSt> getAllSj2(Integer userId);

    List<sjVoSt> getAllSj3(String op, String px, Integer dodId, Integer tableId, Integer sjtypeId,String search,Integer userId);

    List<sjVo> getAllSj4(String op, String px, Integer dodId, Integer tableId, Integer sjtypeId,String search,Integer userId);

    List<sjVo> getAllSj5(String op, String px, Integer dodId, Integer tableId, Integer sjtypeId,String search,Integer userId);


    List<ResourceFj> getListSjScource(Integer id);

    boolean insertSj(InsertJsVo insertJsVo);

    List<SjTypeVo> getSjType();

    void insertSjcources(String upload, Integer sjid, String namesj, String typesj);

    void insertPng(String upload, String namesj, String typesj , Integer sjId);

    int updateSj(InsertJsVo insertJsVo);

    int deleteSj(Integer id);

    boolean insertExam(ExamVo examVo);

    void insertExamSj(Integer examId, Integer sjIds);

    List<ExamVos> findExam(String op , String px,String examName);

    List<ExamVos> findExamUser(String op , String px,String examName);

    ExamVos findExam2(Integer examId);

    List<sjVo> findExamSj(Integer examId, String op, String px);

    int findCount(Integer id);

    void deleteExamByid(Integer examId);

    int deleteExam(Integer examId);

    List<sjVo> findStuExamSj(Integer examId);

    List<sjVos> findStuSJ(Integer examId);

    List<sjVos> findStuSJ2(Integer examId);

    sjVoss findone(Integer examId, Integer stuexamId, Integer sjId);

    String selectExName(Integer examId);

    void createStuSj(Integer id, Object sjIds);

    void createStuSj2(Integer id, Object sjIds);

    void insertStuSj(Integer sjId, Integer userId, String answer);

    void deleteSjStuXl(Integer sjId, Integer userId);

    List<Map<Object, Object>> stuCountXlOrigin(Integer userId);

    List<Map<Object, Object>> stuCountXlDod(Integer userId);


    List<Map<Object, Object>> stuCountXlType(Integer userId);

    List<Map<Object, Object>> stuCountXlTable(Integer userId);

    List<Map<Object, Object>> stuCountXlCom(Integer userId);

    void deleteStu(Integer id);

    Date findCreateTime(Integer stuexamId);

    int findisover(Integer id);

    int findallover();

    void updateExames(Integer examId, Integer examTime, Integer assessMent, String examName);

    List<LastTypeVo> getlasttype(Integer id);

    ExamVos findOneExam(Integer examId);

    List<WordExamVo> findwordExamVos(Integer examId);

    List<WordExamSjVo> findWordExamSj(Integer examId, Integer tableId);

    List<UserExamVo> getExamNameUser(Integer examId);

    void DeleteExamUser(Integer examId);

    int updateForPdf(Integer userid, Integer stuexamid,String as);

    List<String> findListAllStu(Integer examid);

    String findListAllStuForEx(Integer id);

    Date selectoutos(Integer stuexamId);
}
